package day02;

public class DataTypeDemo {
    public static void main(String[] args) {
//        byte a = 8;
//        byte b = 20;
//        byte c =(byte) (a + b);//编译错误，需要强转

//        char d = 65;
//        System.out.println(d);
//        int e = '王';
//        System.out.println(e);
        int ch = 65;
        System.out.println(ch);



        /*
        long a = 10000000000L;
        int b =(int) a;//强制类型转换

        int c = 1000000000;
        long d = c;//自动类型转换

        long e =10000000000L;
        double f = 3.14159;
        int g =(int) f;//强制类型转换
        System.out.println(g);//丢失精度，转换成int类型，小数位无条件舍弃(不会四舍五入)

         */

        /*
        char a = '女';
        char b = '0';
        char c =' ';//空格也是一个字符
        char d = ',';
//        char a1 = '女孩';编译错误，只能存储一个字符
//        char a2 = '10';编译错误，只能存储一个字符
//        char a3 = 'na';编译错误，只能存储一个字符

        char c1 = 65;
        System.out.println(c1);
//        char d1 = ''';//编译错误，特殊符号需要通过转义符来转义
        char d2 = '\'';
        System.out.println(d2);

        int a ='刘';
        int b ='顺';
        int c = '国';
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

         */

        /*
        boolean a = true;
        boolean b = false;
//        boolean c = 39;//编译错误，布尔型只能存储true或false

         */

        /*
        double a = 3.14;
        float  b = 25.14f;

        double c =4.0;
        double d =3.9;
        System.out.println(c-d);

         */

        /*
        long a = 25L;
//        long b = 10000000000;//编译错误，超出int值范围
        long c = 10000000000L;
        long d = 365L*24*60*60*1000;//去年一年所经历的毫秒数
        System.out.println(d);

        long e = 1000000000*2*10L;
        System.out.println(e);//200亿
        long f = 1000000000*3*10L;
        System.out.println(f);//不是300亿，会发生溢出
        long g = 1000000000*2*10L;
        System.out.println(g);//200亿

         */

        /*
        //1)int:整型，4个字节，-21个多亿到21个多亿
        int a = 25; //25为整数直接量，默认为int类型
        //int b = 10000000000; //编译错误，100亿默认为int类型，但超出范围了
        //int c = 25.678; //编译错误，整型变量中只能装整数

        System.out.println(5/2);   //2
        System.out.println(2/5);   //0
        System.out.println(5/2.0); //2.5

        int d = 2147483647; //int的最大值
        d = d+1;
        System.out.println(d); //-2147483648，发生溢出了

         */
    }
}
